約 2,431,113 件
https://w.atwiki.jp/cosmicbreak/pages/3266.html
画像 性能 Icon Size Type Cost PRICE Hp Str Tec Wlk Fly Tgh 備考 M 陸空砲― 110 ガラポン -1 -1 Name 威力 弾数 射程 速度 間隔 回数 備考 GATLING 12 450 220 420 140 60 チャージ 動作 砲身を空転させつつチャージを行った後、高速連射する。 その他 コンパクトガトリング同様にSサイズロボでも扱うことが可能。 COST110にしてCOST220のLLバルクガトリングと同威力、同速度、同間隔という性能を誇る。 変更点 コンパクトガトリング コンパクトガトリング改 威力 10 12 弾数 700 450 レビュー・コメント コンパクトガトリンクを小型なので威力不足だった、などとのたまう超兵器。 単発威力12を誇るので、Gフォース1枚で威力14に強化できる。 流石に弾持ちが良くないので、低コスト使い捨てが似合う。 あまりTecが高くなくても素の威力が高いので、 これを持った低コスト陸を相手すると、相手した側はジリ貧になりがち。 -- (名無しさん) 2012-08-19 09 49 54 Gフォ1枚+Hフォを指してTEC24以上にすると驚異の威力20。 弾削りでチューンするとエラく少なくなるが(射程削りで160)、バルカンと似たような使い捨て運用でものすごいDPSをたたき出せる。 -- (名無しさん) 2013-04-13 18 07 32 ↑Gフォ2枚 -- (名無しさん) 2013-04-13 18 08 15 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/cosmicbreak/pages/2057.html
画像 動作 基本的な手持ちミサイル。 ロックオンした敵に向かって誘導する弾を発射する。 その他 ロケットランチャーの小型版。ロケットランチャーと比べると装弾数が減っている点に注意。 レビュー・コメント 項目作ってくれた人がいたので、ソート 中身制作。数値等は後で埋めるなり何なり 分かる人頼む。後でやってもいいけど -- (名無しさん) 2010-05-26 22 00 45 フレアスターは色々アレなので、S機でも使える手頃な手持ちミサイルとしては実質初と言ってもいい? 攻撃力が僅かに減った分間隔が短くなっており、中々扱いやすいのではないかと思うけど…。 コンパクトランチャーに限った話じゃないんだけど、陸戦に対して無力な割に重くない…? -- (名無しさん) 2010-05-26 22 25 53 間隔云々以前に射程250ってバズーカ系の間合いな時点でお察し 弾速260はロケランと同じである=Gラピ2枚挿し前提なのだが威力の割りにコスト100は重いし 180と少な目の弾を削らねばならず、ロケット系の特徴である発射直後は誘導が弱いのが足を引っ張る さらにS砲にはハンバズ、ブラバズがあるのであえてこれを選択する機会は少ないだろう 一昔前ならロケランリリとかいけたかもしれないが・・・生まれる時代を間違えた武器 -- (名無しさん) 2010-05-27 00 05 36 リリレインに持たせれば使い勝手が良い。 内臓サイガンによる誘導距離延伸が使えるので、弾速チューンでも弾を削らずに済む。 誘導、威力がそれなりなので過信は禁物。 -- (名無しさん) 2010-05-27 18 27 54 そもそもロケランのGラピチューンは距離減らすから -- (名無しさん) 2010-09-21 13 35 48 これはGラピ×2Gフォで化けると思うのだが -- (名無しさん) 2010-09-21 13 37 00 陸がラン盾もって突っ込んでくる現在の環境では、砲戦が最前線に立つことは難しい。 その点、射程同調でハンバズよりも長射程となるランチャー系列が対空に向いているといえる。 といえるのだろうか。うーん。 -- (初心者G) 2010-11-04 00 26 22 火力までコンパクトにしなくてもいいのよ -- (名無しさん) 2011-06-11 22 11 16 UC売りないしRT売りならS1でも使い道はあったかもしれない S3だろうとガラなので狙う価値は無い もし狙うならよほどデス子辺りに入れ込んでるか純正リリでロケラン使いたいとき位 そうでもなければトイ子やダグドラを狙ってAMを流用する方が効果的 -- (名無しさん) 2011-06-15 23 30 42 全てがコンパクト…可愛いw -- (名無しさん) 2012-07-02 08 56 35 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/tohoku-tackle/pages/158.html
グラウンド練習 グラウンド練習は選ばれた2名と金木君が練習できます 練習タイプとしては全体扱い ただし、3人それぞれが別の練習を選ぶことが出来ます 部室補正、コーチ補正、タッグフラグ補正などは適用されます(真冬先生は×)またアイテムの使用も可能です 練習項目 野手向け 【ミート】【パワー】【走力】【肩力】【守備】 投手向け 【スタミナ】【コントロール】【球速】【変化球】(既存の変化伸ばしのみ)【+野手向け練習全て】 補正 部室補正+5 東郷コーチ…打撃関係(【ミート】【パワー】)練習に+2補正 ありすコーチ…守備(【肩力】【守備】)、投手練習に+1補正 システィ&八幡友情タッグ=それぞれ補正+2、変化球+20% ※得能補正はない 金木⇔のどか 金木⇔八幡 金木⇔晴ちんの友情タッグ練習=練習補正+2
https://w.atwiki.jp/aal-t/pages/57.html
テスト明けコンパ出席確認 Wikiはみなさんの善意でなりたつものです。 本名は書かないでください。 期限は7/19までです。 http //chouseisan.com/schedule/List?h=d029f09728c35116af7a55bf75e6e4f7
https://w.atwiki.jp/we11/pages/213.html
上位1チームが決勝ラウンド進出 決勝ラウンド進出チーム(NPO横浜スポーツ&カルチャークラブ、日立栃木ウーヴァスポーツクラブ、松本山雅フットボールクラブ、ツエーゲン金沢) 会場:いわきグリーンフィールド グループA 試合 90勝 PK勝 PK敗 90敗 得点 失点 勝点 NPO横浜スポーツ&カルチャークラブ 3 3 0 0 0 12 0 9 グルージャ盛岡 3 2 0 0 1 5 3 6 NTN岡山(株)岡山製作所サッカー部 3 0 1 0 2 4 13 2 札幌大学 3 0 0 1 2 3 8 1 会場:高岡スポーツコア グループB 試合 90勝 PK勝 PK敗 90敗 得点 失点 勝点 日立栃木ウーヴァスポーツクラブ 3 2 0 1 0 9 2 7 AS.ラランジャ京都 3 1 1 1 0 4 3 6 JAPANサッカーカレッジ 3 1 1 0 1 4 4 5 矢崎バレンテフットボールクラブ 3 0 0 0 3 1 9 0 会場:コカ・コーラ ウエスト スポーツパーク グループC 試合 90勝 PK勝 PK敗 90敗 得点 失点 勝点 松本山雅フットボールクラブ 3 3 0 0 0 12 1 9 RENOFA YAMAGUCHI FC 3 1 1 0 1 5 4 5 沖縄かりゆしFootball Club 3 1 0 1 1 7 5 4 浜松大学FC 3 0 0 0 3 1 15 0 会場:県立春野総合運動公園球技場 グループD 試合 90勝 PK勝 PK敗 90敗 得点 失点 勝点 ツエーゲン金沢 3 2 1 0 0 5 2 8 三洋電機洲本サッカー部 3 1 0 2 0 3 2 5 ヴォルカ鹿児島 3 1 1 0 1 4 4 5 徳島ヴォルティス・セカンド 3 0 0 0 3 3 7 0
https://w.atwiki.jp/arcadiasaga/pages/443.html
Last up date 2009-09-10 11 23 38 (Thu) コールドハウンド データの直接編集をされる方はコチラより編集してください。 画像 編集 名前 編集 種別 編集 生息エリア 編集 攻撃性 昼 編集 夜 編集 関連クエスト 編集 経験値 ソロ 編集 PT 編集 MOBスペック LV 編集 HP 編集 AP 編集 ATK 編集 DEF 編集 S.ATK 編集 S.DEF 編集 HIT 編集 AVOID 編集 CRIT 編集 B.AVOID 編集 強属性 編集 弱属性 編集 ペット ペットスキル 編集 餌 編集 備考 編集 ドロップ 編集 +同レベル帯(Lv11~20)一覧 画像 ペット名 詳細 ペットスキル 編集 LV 種別 餌 HP AP ATK DEF S.ATK S.DEF HIT AVOID CRIT B.AVOID スキル名 ペットLV 親密度 消費AP 説明 編集 ジャイアントスパイダー 11 478 60 112 105 57 56 4% 3% 0% 5% テンテクルアタック 20 敵一体にダメージ 編集 ストリングシュート 30 敵一体の移動速度を減少させる 編集 編集 キラーインセクト 11 563 60 126 134 101 73 2% 2% 0% 3% ニードル 20 編集 ポイズンニードル 30 編集 プリミティブファンガス 11 キノコ 771 76 152 174 120 86 3% 2% 0% 5% カオスティックスポア 30 編集 スリーピングスポア 30 編集 編集 ディサグリーアトラス 11 フルーツ 822 70 145 217 76 79 4% 1% 0% 2% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 レオパルド 12 ミート 435 62 157 166 137 96 5% 6% 0% 3% ライトステップ 30 回避率を上昇させる 編集 編集 インビジブルリザード 12 ベジ 671 123 157 181 181 180 4% 8% 0% 7% ライトステップ 30 回避率を上昇させる 編集 編集 ベア 13 ミートペットフード 562 50 165 156 95 88 3% 2% 0% 3% ワイルドクロー 20 編集 ディープインパクト 40 編集 クロウラー 13 661 97 145 156 156 101 5% 2% 0% 5% ウエポンディソルブ 30 編集 アーマーディソルブ 30 編集 サーペント 13 ミート 578 74 161 137 84 112 5% 5% 0% 6% テイルアタック 30 編集 パラライズバイト 30 編集 ニンブルラット 13 606 84 128 171 103 82 4% 3% 0% 5% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 コールドハウンド 13,14 716 74 193 126 169 112 7% 6% 0% 6% スラッシュバイト 20 敵一体にダメージ 編集 コンスタレーション 40 編集 タクシクフラワー 13 705 72 150 146 95 86 2% 2% 0% 2% シードバレット 30 編集 リラックスフレグランス 30 敵の物理攻撃力減少 編集 スナップラット 14 635 86 135 180 108 86 4% 3% 0% 5% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 ブラックレオパルド 15 537 70 190 204 167 119 6% 7% 0% 4% ライトステップ 30 回避率を上昇させる 編集 ドレッドファング 16 40 編集 ディプスハウンド 15 ミート 670 67 181 118 159 105 7% 5% 0% 6% スラッシュバイト 20 敵一体にダメージ 編集 コンスタレーション 40 編集 ストレインアウルベア 15 キノコ 615 53 136 107 70 70 5% 2% 0% 4% ワイルドフェザー 30 編集 フェザーアタック 20 編集 チェスナット・ホース 15 ベジタブルペットフード 567 75 141 151 133 105 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 30 編集 ベイ・ホース 15 ベジタブルペットフード 537 70 138 149 124 98 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 3 30 編集 ダークベイ・ホース 15 ベジタブルペットフード 537 70 138 149 124 98 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 30 編集 ヴァーミン 16 フルーツ 806 80 147 237 115 117 5% 2% 0% 3% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 ギガントマウス 16 850 96 240 215 97 117 5% 4% 0% 5% ポイズンバイト 20 編集 フードスナッチ 20 編集 ウォーウルフ 17,18,19 819 61 280 214 141 112 9% 5% 0% 8% スラッシュバイト 20 敵一体にダメージ 編集 チャージハウル 30 編集 コンスタレーション 40 編集 ダーティースパイダー 17 715 90 197 193 145 92 6% 4% 0% 6% ポイズンバイト 20 編集 テンテクルアタック 20 敵一体にダメージ 編集 マンドラゴラ 17 715 56 130 123 86 69 3% 2% 0% 3% シードバレット 30 編集 リラックスフレグランス 30 編集 編集 レックス 18 1024 78 200 195 106 94 6% 3% 0% 6% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 ハイヴァーミン 18 フルーツ 743 72 136 218 106 109 4% 2% 0% 3% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 ポイズンスパイダー 18 743 92 205 201 145 96 6% 5% 0% 7% ポイズンバイト 20 編集 テンテクルアタック 20 敵一体にダメージ 編集 ストリングシュート 30 敵一体の移動速度を減少させる 編集 キャリア 19 鼠 コーンペットフード ポイズンバイト 編集 ドライアド 20 キノコペットフード 1029 90 238 236 196 118 7 3 0% 5 リラックスフレグランス 編集 フェロモンフレグランス 編集 シードバレット 編集 コメント 名前
https://w.atwiki.jp/arcadiasaga/pages/447.html
Last up date 2009-09-10 11 24 49 (Thu) ディプスハウンド データの直接編集をされる方はコチラより編集してください。 画像 編集 名前 編集 種別 編集 生息エリア 編集 攻撃性 昼 編集 夜 編集 関連クエスト 編集 経験値 ソロ 編集 PT 編集 MOBスペック LV 編集 HP 編集 AP 編集 ATK 編集 DEF 編集 S.ATK 編集 S.DEF 編集 HIT 編集 AVOID 編集 CRIT 編集 B.AVOID 編集 強属性 編集 弱属性 編集 ペット ペットスキル 編集 餌 編集 備考 編集 ドロップ 編集 +同レベル帯(Lv11~20)一覧 画像 ペット名 詳細 ペットスキル 編集 LV 種別 餌 HP AP ATK DEF S.ATK S.DEF HIT AVOID CRIT B.AVOID スキル名 ペットLV 親密度 消費AP 説明 編集 ジャイアントスパイダー 11 478 60 112 105 57 56 4% 3% 0% 5% テンテクルアタック 20 敵一体にダメージ 編集 ストリングシュート 30 敵一体の移動速度を減少させる 編集 編集 キラーインセクト 11 563 60 126 134 101 73 2% 2% 0% 3% ニードル 20 編集 ポイズンニードル 30 編集 プリミティブファンガス 11 キノコ 771 76 152 174 120 86 3% 2% 0% 5% カオスティックスポア 30 編集 スリーピングスポア 30 編集 編集 ディサグリーアトラス 11 フルーツ 822 70 145 217 76 79 4% 1% 0% 2% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 レオパルド 12 ミート 435 62 157 166 137 96 5% 6% 0% 3% ライトステップ 30 回避率を上昇させる 編集 編集 インビジブルリザード 12 ベジ 671 123 157 181 181 180 4% 8% 0% 7% ライトステップ 30 回避率を上昇させる 編集 編集 ベア 13 ミートペットフード 562 50 165 156 95 88 3% 2% 0% 3% ワイルドクロー 20 編集 ディープインパクト 40 編集 クロウラー 13 661 97 145 156 156 101 5% 2% 0% 5% ウエポンディソルブ 30 編集 アーマーディソルブ 30 編集 サーペント 13 ミート 578 74 161 137 84 112 5% 5% 0% 6% テイルアタック 30 編集 パラライズバイト 30 編集 ニンブルラット 13 606 84 128 171 103 82 4% 3% 0% 5% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 コールドハウンド 13,14 716 74 193 126 169 112 7% 6% 0% 6% スラッシュバイト 20 敵一体にダメージ 編集 コンスタレーション 40 編集 タクシクフラワー 13 705 72 150 146 95 86 2% 2% 0% 2% シードバレット 30 編集 リラックスフレグランス 30 敵の物理攻撃力減少 編集 スナップラット 14 635 86 135 180 108 86 4% 3% 0% 5% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 ブラックレオパルド 15 537 70 190 204 167 119 6% 7% 0% 4% ライトステップ 30 回避率を上昇させる 編集 ドレッドファング 16 40 編集 ディプスハウンド 15 ミート 670 67 181 118 159 105 7% 5% 0% 6% スラッシュバイト 20 敵一体にダメージ 編集 コンスタレーション 40 編集 ストレインアウルベア 15 キノコ 615 53 136 107 70 70 5% 2% 0% 4% ワイルドフェザー 30 編集 フェザーアタック 20 編集 チェスナット・ホース 15 ベジタブルペットフード 567 75 141 151 133 105 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 30 編集 ベイ・ホース 15 ベジタブルペットフード 537 70 138 149 124 98 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 3 30 編集 ダークベイ・ホース 15 ベジタブルペットフード 537 70 138 149 124 98 4% 3% 0% 4% フィジカルアタック 40 編集 ラッシュ 30 編集 ヴァーミン 16 フルーツ 806 80 147 237 115 117 5% 2% 0% 3% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 ギガントマウス 16 850 96 240 215 97 117 5% 4% 0% 5% ポイズンバイト 20 編集 フードスナッチ 20 編集 ウォーウルフ 17,18,19 819 61 280 214 141 112 9% 5% 0% 8% スラッシュバイト 20 敵一体にダメージ 編集 チャージハウル 30 編集 コンスタレーション 40 編集 ダーティースパイダー 17 715 90 197 193 145 92 6% 4% 0% 6% ポイズンバイト 20 編集 テンテクルアタック 20 敵一体にダメージ 編集 マンドラゴラ 17 715 56 130 123 86 69 3% 2% 0% 3% シードバレット 30 編集 リラックスフレグランス 30 編集 編集 レックス 18 1024 78 200 195 106 94 6% 3% 0% 6% ライトステップ 20 回避率を上昇させる 編集 フィジカルアタック 40 編集 ハイヴァーミン 18 フルーツ 743 72 136 218 106 109 4% 2% 0% 3% フィジカルクラッシュ 40 敵一体を一定の距離吹き飛ばす 編集 ストロングシェル 30 防御力を上昇させる 編集 ポイズンスパイダー 18 743 92 205 201 145 96 6% 5% 0% 7% ポイズンバイト 20 編集 テンテクルアタック 20 敵一体にダメージ 編集 ストリングシュート 30 敵一体の移動速度を減少させる 編集 キャリア 19 鼠 コーンペットフード ポイズンバイト 編集 ドライアド 20 キノコペットフード 1029 90 238 236 196 118 7 3 0% 5 リラックスフレグランス 編集 フェロモンフレグランス 編集 シードバレット 編集 コメント 名前
https://w.atwiki.jp/yougosq/pages/4683.html
■リカーブボウ 魔物の舌を利用し張力を高めた弓。 現実世界ではアーチェリーで使用されている。ごく一般的な弓の形状と言える 一方、コンパウンドボウという弓があり、こちらは滑車やリリーサーといった機構が付いた、機械的な弓である スナイパー立ち絵で持ってるのがベアボウな 人気無い競技 だがそれがいい コメント
https://w.atwiki.jp/vip_tyuunibyou/pages/42.html
●サウンド班まとめ● ファイル形式はOgg Vorbis(*.ogg) で統一。mp3は使用不可。 サウンド部隊の人は、何度も聴き直すか意見を求めるかして、本気で素材のクオリティ向上に努めたほうがいいです。 理由はフリー素材。あそこまでのクオリティは求めるべきではないと思っていますが、読者の耳は肥えているのです。 BGMは絵と並び立つ最重要ポイントでもあるので、ぜひ頑張って頂きたい。 <作成順序> ①BGMをoggファイルで用意する。 ②吉里吉里のSDKを落として、解答する。下記URLで直リンク。 http //kikyou.info/dl_redirect.php?%2Ftvp%2Ffiles%2Fkr2_228r3.lzh ③「(解凍ディレクトリ)\kirikiri2\tools\krkrlt.exe」でループチューナを起動。 ④ループを設定したいoggファイルをドラッグ&ドロップで読み込む。 ⑤新しいリンクを作成し、拡大・縮小しつつ違和感の無いようにループ設定を行う。 ⑥できたら保存。読み込んだoggファイルと同じディレクトリに「****.ogg.sli」が生成される。 ⑦oggとsliファイルを一緒に提出する。 <作業表> 注意1:共通ルート(体験版予定)に必須となる素材は、名前が赤くなっています。 注意2:全ての曲を使うとは限りません。逆に、追加要求が出る可能性もあります。 注意3:どうしようもないところはフリー素材を使用するかもしれません。 進展率:0% 優先 概要 担当 状況 参考 ◎ 日常:平和な日々を連想させるような。生活観のあるような雰囲気。人の息遣いが感じられるような。 (未定) - - ◎ 日常:楽しげな雰囲気。思わずスキップしたくなる (未定) - - ◎ 日常:コメディ風なBGM。ほっとするような安心できる感じ。 (未定) - - △ うっとい日常(佳織襲来後):他の日常曲よりも、ちょっと憂鬱っぽい (未定) - - ◎ 戦闘1:特に指定無し。汎用的なものを。 (未定) - - ◎ 戦闘2:特に指定無し。汎用的なものを。 (未定) - - ◎ 戦闘3:こちらの優勢だ、一気に片付けろ!的な。明るく、テンポ早く。 (未定) - - ◎ 戦闘4:絶望。死を待つだけみたいなスピードの速いお通夜。 (未定) - - ◎ 決戦:勝負はどちらに転ぶか分らないような。宿命の対決、といった感じ。ここが見せ場だ、と表現。 (未定) - - ◎ ラストバトル (未定) - - ◎ 地獄:地獄から聞こえる亡者の叫びみたいなものを。 (未定) - - ◎ 恐怖:特に指定無し。汎用的なものを。 (未定) - - ◎ 不気味:得体の知れない恐怖。悪い事を予感させる類の。幽霊ぽい? (未定) - - ◎ 暴露/驚愕:ショッキングな出来事が明かされるように。最初にびくっとなって、段々体が冷えていくような。 (未定) - - ◎ 述懐:遠い昔を思い出す。オルゴール調。セピア色っぽい。 (未定) - - ◎ 決意:何かを決める、後悔しない。 これから未知に向かって勇ましく歩くような。 (未定) - - ◎ 幸せ:何処か物悲しい空気のある幸せな調べ。難しいぜ! (未定) - - ◎ 邑久の逆ギレ(あえて夜の街に出たりする時ね):テクノっぽく? 支配に対する反発 (未定) - - ◎ エリス覚醒:絶望的なイメージで迫り来る感じ (未定) - - ◎ ブレナム内部:規律のある場所だが、暗い。何か企んでそうな。 (未定) - - △ 尋問:ちょっと暗めの、うらぶれた感じ。軽い脅し。テンポはゆっくり。 (未定) - - △ 混乱:テンポ早めとか。あるいは不安を煽るような変拍子で変態っぽくとか (未定) - - △ 夜の日課:巡回中の。 (未定) - - △ いやな予感:ケツに火が付きそうな。 (未定) - - △ ラブストーリーは突然に?:佳織をからかうヒロミのイメージで。コミカル。 (未定) - - ― ―――――――――――――――――――――――――――――― ――― ― ― △ 華純のテーマ (未定) - - △ 涼香のテーマ:涼香の高貴さをかっちょよくあらわすような。 (未定) - - ◎ 佳織のテーマ:綺麗で、どこか寂しげな感じ? (未定) - - ◎ カオリのテーマ:恐怖や憎しみ、絶望的な (未定) - - ◎ ヴァイスのテーマ:荘厳な感じ。パイプオルガン調。底に悪意が詰まっている聖歌。 (未定) - - △ 『K』のテーマ:無慈悲に殺戮を繰り返す淡々としたもの? (未定) - -
https://w.atwiki.jp/mopsprogramming/pages/155.html
プログラミング言語で組んだプログラムをコンピュータで実現するとき、その実行方法には、大きく分けて二つの方法があります。それが、インタープリタ方式とコンパイラ方式です。インタープリタとは「解釈するもの(Interpreter)」というような意味の英語です。コンパイラ(Compiler)の意味は難しいですね。英語の辞書も大抵翻訳を放棄して、カタカナ書きです。語の成り立ちからすると「束ねて積み込むもの」というイメージでしょうか(想像するに、穴空きカードでプログラミングしていた時代の名残じゃないでしょうか)。 ソフトェア/ハードウェア インタープリタにしてもコンパイラにしても、そう呼ばれるのは、その機能を持ったソフトウェア(アプリケーション)のことです。そういえば、ソフトウェアとハードウェアの話をしていませんでした。ついでにここで触れると、コンピュータとか機械のことはハードウェア(Hardware)と呼ばれ、それを動かすためのコードやデータの中身(コードは機械への命令ですが、これも大きく括れば計算機に食わせるデータの一つ)をソフトウェア(Software)といいます。機械は硬い(ハード hard)ので、それとの対比でソフトなわけで、別に柔らかいわけじゃありません、っていうか、厳密にいうと手では触れません、ソフトウェアには。 さてインタープリタ方式とコンパイラ方式に話を戻します。前回も触れたように、機械の中では、普通の人間にはわけが分からない電気信号(機械語)の組み合わせが飛び交っているに過ぎません。これを人にもわかりやすいようにするためにプログラミング言語があるわけです。ですが、今度は機械の方でプログラミング言語を直接理解(つまり、対応した実行。機械が何かを"理解"することは、今のところありません。比喩です。)できません。そんなわけで、プログラミング言語で書いたプログラムを、機械が理解できるような信号に変換してくれるものが必要なわけです。これがインタープリタとかコンパイラなわけです。 インタープリタ方式 インタープリタは、プログラミング言語で書かれたプログラムを読み込んで、直ちにそれを機械への命令に変換して実行してくれます。ですから、インタープリタ方式では、プログラムのごく一部分であっても、ある程度まとまっていれば、その場で実行して結果を確かめることができます。簡単便利なわけです。ところが、反面、前回も触れたような行ったり来たりの構文解析をしたり、さらに数式みたいな外見の文の意味を機械の命令に翻訳したりという作業を、一行毎にしながら実行して行くため、高速の処理が苦手です。もっとも最近は機械自体の処理速度がめちゃくちゃ早くなっているので、特別高速処理が必要な部分じゃなければ、インタープリタ方式でも苦痛なほど鈍いということはないようです。そのため、簡便性が買われて、インタープリタ方式しか提供されていない言語もかなり広く愛好されるようになりました。 コンパイラ方式 これに対して、コンパイラは、それ自体はプログラムを実行してくれません。プログラミング言語で書かれたプログラムを、機械が理解できるデータに変換して、普通はそれをファイルとして保存するということをします。この生成されたファイルはいわゆるアプリケーションになっているはずなわけで、これを実行すればいいわけです。実行の段階では、もう構文解析とか機械語への翻訳は終わっているので、最適な実行速度が得られるわけです。ところが、コンパイラ方式の場合、実行するファイルはアプリケーションとしてある程度完成していないといけないわけで、足し算の部分だけ、とかを試してみることができません。そんなわけで、あらかた完成してから、デバッグと呼ばれる手順で、専用のアプリケーション(デバッガという)を用いてときどき止めながら実行してみて、長いプログラムの中にちりばめられた多くの失敗を捜す必要もでてきます。インタープリタのように書きながら断片毎にチェックできればミスのありかもわかりやすいのですが、それができない、ということです。それでも、実行速度が欲しい商用のアプリケーションはもちろん、ごく普通にアプリケーションというと、コンパイラ方式でつくられたものがほとんどです。本格的、というイメージがあるのかもしれません。 すこし補足します。上で"コンパイラというソフトウェア"といいましたが、これは、ちょっと広い範囲のものを含んでいます。まあ、この広い意味のコンパイラという言い方も、そう特殊ではないんですが。厳密にいうと、コンパイラは、プログラミング言語で書かれたプログラムを、マシン語の命令の束に変換するところまでをするソフトウェアで、その結果をファイルに落としたとしても、必ずアプリケーションになるとは限らないわけです。この後アプリケーションに至るプロセスの中で重要な働きをするソフトウェアはリンカ(linker)と呼ばれます。特に、スタティック(static)リンカですね。静的リンカ。だいたいは、これも合わせてコンパイラというわけです。 少し細かい話ですが、プログラムを書くとき、複数のファイルにわけて書くのが普通です。狭い意味でのコンパイラというのは、このプログラムファイル毎に、ひとつのマシン語ファイルを生成するのが普通です。で、自分のところで内容がわからない(定義されていない)サブルーチン、と定義されているサブルーティンとにわけて、タップというか継ぎ手みたいな記号をファイルに書き込んでおくわけです。そのあと、スタティックリンカは、その継ぎ手を調べて、定義内容と、それを必要としている部分を結びつけた上で、ひとつの実行可能ファイルにまとめてくれるわけです。実は、Mops/Forthではこの作業はないんですが、"普通の"コンパイラ型言語では、だいたいこういう仕組みになっていると思います。 ファイルを別々にわけたまま、とりあえずは実行できるようにしておいて、必要になったときに"継ぎ手"を調べて結びつける仕事をするソフトウェアは、ダイナミック(dynamic)リンカと呼ばれます。動的リンカですね。 この手の話は、高度な話ということになってるんですが、まあ、発想は単純ですよね。仕組みを作るのは難しそうですが。面倒なら、あまり考えなくていいです。 バイトコード方式 で、以上のようなものは両極で、中間にいろいろ技巧をこらしているものがあります。その中でも、今ではJavaのせいで触れないわけにはいかなくなった、バイトコード方式というのがあります。つまり、インタープリタ方式とコンパイラ方式の中間にあるような方法です。 この方式では、プログラミング言語で書かれたプログラムは、まずコンパイル(コンパイラで変換すること)される必要があります。しかし、ここで一挙に機械語に変換はしません。バイトコードと呼ばれる、人間には読めない、しかし機械で直接実行もできないデータに変換するのです。これは、大抵、ファイルとして保存されます。出来上がったファイルは、このデータのインタープリタで実行されます。このインタープリタは、"仮想機械(バーチャルマシン virtual machine)"と呼ばれるのが普通です。 なお、バイトコードというのは厳密には、Java(他にはSmalltalkという言語でも)で使われる実行ファイルデータの呼び名(型式名)で、別に、この方式を採用するのに、バイトコードというタイプを使う必然性はありません。ので、正確には、中間コード方式とでもいう方がいいでしょう。まあ、Javaが有名なもので。 バイトコードはプログラミング言語の構文解析はもう終わっており、手早く機械語に変換できるようになっています。ですから、インタープリタ(仮想機械)で実行するときには、直接機械語を実行するとき程ではありませんが、比較的高速になります。他方、コンパイルが必要ですから、断片を手軽に試すということもできません(直接ソースを実行できるインタープリタもあるかも知れません。すみません。商品状況はよく知りません。ちょっとずつ追加コンパイルできるようになっていれば、かなり好いわけですが。)。 すると、見方によっては、インタープリタ方式ほどの手軽さもなく、コンパイラ方式よりも実行速度が遅い、いいところないじゃないか、といえなくもありません。ですが、このバイトコード方式の狙いは、皆さんご承知のように、違うところにあるのです。インタープリタ方式は、インタープリタというアプリケーションが、プログラムをその機械やOSに合わせて実行してくれるわけで、"理想的には"どの機械、どのOSでも、同じプログラムを同じように動かせるはずなわけです。ところが、あまりに実行速度が遅いのではイライラする。そこで、手早く機械語に変換できる言語をつかってインタープリタで動かせば、違う機械、違うOSでも、"理想的には"一つのプログラムが比較的高速で同じように動かせるじゃあないか、ということになるわけです。つまり、機械、というか特にOSの違いの吸収がその目的なわけです。もっとも、機械語に変換しやすいバイトコードは、人間にわかりやすいとはいえない。そこで、コンパイラをかませて、人にもわかりやすいコードをバイトコードに変換するという機構もつけたわけです。Javaは商業的にも大成功した、みたいです。 言語の特性とは言い切れない インタープリタ方式、コンパイラ方式、中間方式、どれもプログラムの実行方式です。ときどき、インタープリタ言語、コンパイラ言語、などという分類がありますが、インタープリタでするかコンパイラでするかは、厳密にはプログラミング言語の属性ではありません。実際、C言語やC++言語というのはコンパイラ言語のチャンピオンですが、どちらもインタープリタが存在しています(過去形の方がいいのかな。あまり知られていませんね。学習用ということでしょう。)。ただ、全然関係ないかというと、そうでもありません。というのは、何度か触れたように、インタープリタでは構文解析とか、プログラミング言語を機械に適切なように置き換えるプロセスが実行されます。インタープリタ上で動かすことを予定して言語をデザインするには、この時間を最小限にするのが理想的ということになります。もちろん、人が読めるという条件を前提としてですが。他方、コンパイラ方式で動かすというなら、この変換にかかる時間は、あまりに長いのは問題ですが、それほど大きな意味を持ちません。どちらかというと、機械語の実行コードの実行効率を上げることができるような言語デザインが大切になってきます。コンパイラ方式の最大の利点は効率性ですから。つまり、プログラミング言語をデザインするときには、どちらを前提とするかで考え方が違ってくるわけで、言語の見た目も変わってくる可能性はあるわけです。もっとも、実際には、インタープリタ言語は機械のパワーに依存してしまっていて、コンパイラ言語と変わらない体裁のものがほとんどですし(似ている方がおぼえやすいし)、コンパイラ言語は、言語デザインで効率性を考えるというより、コンパイラ技術に依存してしまっているわけですが。 Mopsの方式 Mopsは、インタープリタであると同時にコンパイラでもあります。じゃあバイトコード(中間コード)方式なのかというと、そうでもありません。インタープリタ方式とコンパイラ方式の中間ではないのです。強いていえば、インタープリタのようにコード断片を試せるコンパイラ方式です。 Mopsには定義されているものと定義されていないものがあります。簡単な足し算"+"などは予め定義されています。自分で新たに定義を付け加えることもできます。既に定義されているものは、Mopsのウィンドウにenterすると実行されます。これはインタープリタの動作です。ところが、この解釈実行の段階にはコードを機械語に変換するという部分がありません。定義したときに、もうその内容は機械語に変換されて辞書(Dictionary)と呼ばれるメモリー部分に格納されてあるのです。インタープリタは、それを引っ張り出して実行するだけです。ですから、既に定義されている部分を実行している間は、機械語を単純に実行しているだけなのです。ですから、実行方式は、コンパイラ方式での実行ファイルの実行と変わりがありません。そのため、インタープリタ方式とは思えない程高速なのです。Mopsの方式は、Forth系言語の中でも、ネイティブ方式と呼ばれ、最も高速な部類に属します。これは、実質的には、もう、インタープリタ方式とはいえません。コンパイラ方式というべきでしょう。それでも、Mopsは普通のインタープリタのように、足し算一個でも、試してみることができるのです。 と、以上のように、技術的には色々あり得るわけです。Mopsの独特の方式(他にもForth系には類例はありますが)は、古いForth言語のやり方を踏襲して発展させたものです。このような、実質的にはコンパイラ方式なのに簡便にプログラミングができることを標準としている環境は、Forth系以外にはまだ存在していないようです。技術的にもとても興味深いものだと思います。 前へ 次へ 目次へ トップページへ